perm filename BLOCKX.HDR[11,ALS] blob
sn#083844 filedate 1974-01-28 generic text, type T, neo UTF8
00010 EXTERNAL PROCEDURE SPOOL(STRING S;INTEGER IOCHAN,FLAGS);
00020 INTEGER DATE,TIME;
00030 DEFINE GETIME="BEGIN DATE←CALL(0,""DATE""); TIME←CALL(0,""TIMER"")%60; END";
00040
00050 INTERNAL STRING PROCEDURE DATIM; ⊃ Returns string equivalent to monitor DAYTIME command;
00060 BEGIN INTEGER DAY,YR,HRS,MIN,SEC;
00070 PRELOAD_WITH "JAN","FEB","MAR","APR","MAY","JUN","JUL","AUG",
00080 "SEP","OCT","NOV","DEC";
00090 OWN STRING ARRAY MONTHS[0:11];
00100 DAY←(DATE MOD 31)+1;DATE←DATE%31;
00110 YR←1964+DATE%12;SEC←TIME MOD 60;TIME←TIME%60;MIN←TIME MOD 60;HRS←TIME%60;
00120 SETFORMAT(-2,0);
00130 RETURN(CVS(DAY)&"-"&MONTHS[DATE MOD 12]&"-"&CVS(YR)&" "&CVS(HRS)&CVS(MIN)&":"&CVS(SEC));
00140 END "DATIM";
00150 INTERNAL STRING PROCEDURE DATIME;BEGIN GETIME;RETURN(DATIM);END;
00999
00005 DEFINE CR="'15",LF="'12",CRLF="CR&LF",TB="'11";
00010 DEFINE TABNUM="16",INSIZ="24",TABSIZ="256";
00020 INTERNAL INTEGER ARRAY PHLIST,HLIST[00:63];
00040 INTERNAL INTEGER ARRAY FLIST[0:35];
00050 INTERNAL INTEGER ARRAY INNAM[0:INSIZ];
00060 INTERNAL INTEGER ARRAY NAMES[0:TABNUM];
00070 INTERNAL INTEGER ARRAY PARENT[0:TABNUM];
00080 INTERNAL INTEGER ARRAY PARENN[0:TABNUM];
00090 INTERNAL INTEGER ARRAY GATE[0:TABNUM];
00100 INTERNAL INTEGER ARRAY IN1[0:TABNUM];
00110 INTERNAL INTEGER ARRAY IN2[0:TABNUM];
00120 INTERNAL INTEGER ARRAY IN3[0:TABNUM];
00130 INTERNAL INTEGER ARRAY IN4[0:TABNUM];
00140 INTERNAL INTEGER ARRAY IN1N[0:TABNUM];
00150 INTERNAL INTEGER ARRAY IN2N[0:TABNUM];
00160 INTERNAL INTEGER ARRAY IN3N[0:TABNUM];
00170 INTERNAL INTEGER ARRAY IN4N[0:TABNUM];
00180 INTERNAL INTEGER ARRAY OUT1[0:TABNUM];
00190 INTERNAL INTEGER ARRAY OUT2[0:TABNUM];
00200 INTERNAL INTEGER ARRAY OUT3[0:TABNUM];
00210 INTERNAL INTEGER ARRAY OUT4[0:TABNUM];
00220 INTERNAL INTEGER ARRAY LRN1[0:TABNUM];
00230 INTERNAL INTEGER ARRAY LRN2[0:TABNUM];
00240 INTERNAL INTEGER ARRAY LRN3[0:TABNUM];
00250 INTERNAL INTEGER ARRAY LRN4[0:TABNUM];
00255 INTERNAL INTEGER ARRAY LEVEL[0:TABNUM];
00256 INTERNAL INTEGER ARRAY CMAX[0:TABNUM];
00257 INTERNAL INTEGER ARRAY START[0:TABNUM];
00258 INTERNAL INTEGER ARRAY STOP[0:TABNUM];
00260 INTERNAL INTEGER ARRAY OUTPUT[0:TABNUM];
00270 INTERNAL INTEGER ARRAY INCNT,INSUB,INDIV,INRAW,INDAT[0:INSIZ];
00280
00290
00300 PROCEDURE HEADIN;
00310 BEGIN "HEADIN" INTEGER CHAN1,EOF;
00320 CHAN1←GETCHAN;
00330 CLOSE(CHAN1);
00340 OPEN(CHAN1,"DSK",'10,10,0,0,0,EOF);
00350 LOOKUP(CHAN1,"TABHED.DAT",0);
00360 ARRYIN(CHAN1,INNAM[0],INSIZ);
00370 ARRYIN(CHAN1,FLIST[0],36);
00380 ARRYIN(CHAN1,PHLIST[0],64);
00390 ARRYIN(CHAN1,HLIST[0],64);
00400 ARRYIN(CHAN1,NAMES[0],TABNUM);
00410 ARRYIN(CHAN1,PARENT[0],TABNUM);
00415 ARRYIN(CHAN1,PARENN[0],TABNUM);
00420 ARRYIN(CHAN1,GATE[0],TABNUM);
00430 ARRYIN(CHAN1,IN1[0],TABNUM);
00440 ARRYIN(CHAN1,IN2[0],TABNUM);
00450 ARRYIN(CHAN1,IN3[0],TABNUM);
00460 ARRYIN(CHAN1,IN4[0],TABNUM);
00470 ARRYIN(CHAN1,OUT1[0],TABNUM);
00480 ARRYIN(CHAN1,OUT2[0],TABNUM);
00490 ARRYIN(CHAN1,OUT3[0],TABNUM);
00500 ARRYIN(CHAN1,OUT4[0],TABNUM);
00510 ARRYIN(CHAN1,LRN1[0],TABNUM);
00520 ARRYIN(CHAN1,LRN2[0],TABNUM);
00530 ARRYIN(CHAN1,LRN3[0],TABNUM);
00540 ARRYIN(CHAN1,LRN4[0],TABNUM);
00550 ARRYIN(CHAN1,LEVEL[0],TABNUM);
00560
00570 CLOSE(CHAN1);
00580 RELEASE(CHAN1);
00590 END "HEADIN";
00600
00610